{% extends 'base.html' %}
{% block title %}ConfigMaps{% endblock %}
{% block nav-item-4 %}layui-nav-itemed{% endblock %}
{% block nav-child-4-2 %}layui-this{% endblock %}
{% block content %}
   {% csrf_token %}
<span class="layui-breadcrumb">
  <a href="#">首页</a>
  <a href="#">存储与配置</a>
  <a><cite>Configmaps</cite></a>
</span>
<hr class="layui-border-red">
<div class="layui-card">
    <div class="layui-card-body">
        <div class="layui-row layui-col-space10">
            <div class="layui-col-md12">
{#                <button class="layui-btn" style="float: left">创建</button>#}
                <button class="layui-btn" style="float: left" id="searchBtn">搜索</button>
                <input type="text" name="name" class="layui-input" style="width: 150px;float: left;margin-left: 5px">
            </div>

            <div class="layui-col-md12">
                <table id="test" lay-filter="test"></table>
                <script type="text/html" id="barDemo">
                  <a class="layui-btn layui-btn-xs layui-btn-primary" lay-event="yaml">YAML</a>
                  <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
                </script>
            </div>
        </div>
    </div>
</div>
{% endblock %}
{% block js %}
<script>

// 获取当前命名空间
var storage = window.sessionStorage;
var namespace = storage.getItem('namespace');

layui.use('table', function () {
    var table = layui.table;
    var $ = layui.jquery;
    // 动态渲染表格
    table.render({
        elem: '#test'
        ,url: '{% url 'configmap_api' %}?namespace=' + namespace  //数据接口
        ,toolbar: '#toolbarDemo'   //开启头部工具栏，并为其绑定左侧模板
        ,defaultToolbar: ['filter', 'exports', 'print', {   //自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
            title: '提示'
            ,layEvent: 'LAYTABLE_TIPS'
            ,icon: 'layui-icon-tips'
        }]
        ,page: true
        ,cols: [[
            {field: 'name', title: '名称', sort: true}
            ,{field: 'namespace', title: '命名空间', sort: true}
            ,{field: 'data_length', title: '数据数量'}
            ,{field: 'create_time', title: '创建时间'}
            ,{field: 'right', title: '操作', toolbar: '#barDemo', width: 150}
        ]]
        ,id: "TT"
    });
    // 标签格式化
    function labelsFormat(d){
        result = "";
        if(d.labels == null){
            return "None"
        } else {
            for (let key in d.labels) {
                result += '<span style="border: 1px solid #d6e5ec;border-radius: 8px">' +
                    key + ':' + d.labels[key] +
                    '</span><br>'
            }
            return result
        }
    }
  //监听行工具事件
  table.on('tool(test)', function(obj){
    var data = obj.data;
    //console.log(obj)
    if(obj.event === 'del'){
      layer.confirm('你要真要删除' + data.name + ' ConfigMap吗？', function(index){
        var csrf_token = $('[name="csrfmiddlewaretoken"]').val();
        $.ajax({
            type: "DELETE",
            url: "{% url 'configmap_api' %}",
            data: data,
            headers: {'X-CSRFToken': csrf_token},
            success: function (res) {
                if(res.code == 0){
                    obj.del();  // 删除当前页面数据
                    layer.msg(res.msg,{icon: 6, time: 3000}) // 默认停顿3秒
                } else {
                    layer.msg(res.msg,{icon: 5})
                }
            },
            error: function () {
                layer.open({
                    type: 0,
                    title: ['异常信息'],
                    content: "服务器接口异常！"
                })
            }
         });
        layer.close(index);
      });
    } else if(obj.event === 'yaml'){
        // 查看YAML
        layer.open({
            title: "YAML",
            type: 2,  //从一个网址加载
            area: ["50%", "60%"],
            content: '{% url 'ace_editor' %}?resource=configmap&' + 'namespace=' + data.namespace + '&name=' + data.name
        })
    }
  });
    // 监控搜索事件
    $('#searchBtn').click(function(){
        var search_key = $('input[name="name"]').val()
        table.reload('TT', {
          where: {
              search_key: search_key
          }
        });
    })
});
</script>
{% endblock %}